#!/bin/bash

# 数据库表结构分析脚本
# 该脚本会分析数据库中的所有表结构，识别外键约束，并生成删除脚本

echo "🔍 数据库表结构分析工具"
echo "=========================="
echo ""

# 检查是否安装了必要的依赖
if ! command -v node &> /dev/null; then
    echo "❌ 错误: 未找到 Node.js，请先安装 Node.js"
    exit 1
fi

# 检查是否存在分析脚本
if [ ! -f "analyze-database-schema.js" ]; then
    echo "❌ 错误: 未找到 analyze-database-schema.js 文件"
    exit 1
fi

# 检查是否存在 package.json
if [ ! -f "package.json" ]; then
    echo "❌ 错误: 未找到 package.json 文件，请确保在正确的目录中运行"
    exit 1
fi

# 安装依赖（如果需要）
echo "📦 检查依赖..."
if [ ! -d "node_modules" ]; then
    echo "安装依赖..."
    npm install
else
    echo "依赖已安装"
fi

echo ""

# 设置环境变量（如果存在 .env 文件）
if [ -f ".env" ]; then
    echo "📄 发现 .env 文件，加载环境变量..."
    export $(cat .env | grep -v '^#' | xargs)
    echo "环境变量已加载"
else
    echo "📄 未发现 .env 文件，将使用默认配置"
fi

echo ""

# 运行分析脚本
echo "🚀 开始分析数据库表结构..."
node analyze-database-schema.js

echo ""
echo "✅ 分析完成！"
echo ""
echo "📋 后续操作建议:"
echo "1. 查看生成的 JSON 报告文件了解详细结构"
echo "2. 如果需要删除外键约束，可以运行: node remove-foreign-keys.js"
echo "3. 建议在执行删除操作前备份数据库"
echo "" 